
/**
 * Interface to implement classes to listen for server events about privacy communication. 
 * Listeners are registered with the {@link PrivacyListManager}.
 *
 * @see PrivacyListManager#addListener
 * 
 * @author Francisco Vives
 */
class PrivacyListListener {
public:
	virtual ~PrivacyListListener() {}
    /**
     * Set or update a privacy list with PrivacyItem.
     *
     * @param listName the name of the new or updated privacy list.
     * @param listItem the PrivacyItems that rules the list.
     */
    virtual void setPrivacyList(std::string & listName, vector<PrivacyItem*> & listItem) = 0;

    /**
     * A privacy list has been modified by another. It gets notified.
     *
     * @param listName the name of the updated privacy list.
     */
    virtual void updatedPrivacyList(std::string & listName) = 0;

};

